Matthias Clasen [Thu, 28 Jan 2021 23:17:22 +0000 (18:17 -0500)]
widget: Use subpixel positioning
Before turning off pangos rounding of glyph positions,
we must check if the cairo we are using is new enough
to have working subpixel positioning (the relevant
cairo commit is
52a7c79fd4ff96bb5fac175f0199819b0f8c18fc).
Matthias Clasen [Thu, 28 Jan 2021 23:16:16 +0000 (18:16 -0500)]
gsk: Fix a thinko
With subpixel positioning, we need to offset the
cached glyphs by their phase.
Matthias Clasen [Thu, 28 Jan 2021 19:12:18 +0000 (19:12 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3127
Matthias Clasen [Thu, 28 Jan 2021 05:01:35 +0000 (00:01 -0500)]
label: Drop some unused includes
Matthias Clasen [Thu, 28 Jan 2021 04:36:55 +0000 (23:36 -0500)]
Remove vestigial glade support
These files have not been kept up to date, and
glade doesn't work with GTK4 currently.
Matthias Clasen [Thu, 28 Jan 2021 04:34:06 +0000 (23:34 -0500)]
Move the gesture icons in the right place
Put these images into gtk/icons, where they belong.
Matthias Clasen [Thu, 28 Jan 2021 04:28:36 +0000 (23:28 -0500)]
Drop unused logo resource
The inspector no longer sets a window icon.
Matthias Clasen [Thu, 28 Jan 2021 04:07:55 +0000 (23:07 -0500)]
Reduce use of GtkStyleContext
Remove some unnecessary uses of GtkStyleContext where
we can directly go to the GtkCssStyle, and and drop
unnnecessary includes.
Matthias Clasen [Thu, 28 Jan 2021 03:21:02 +0000 (22:21 -0500)]
Unify border-spacing handling
Avoid using GtkStyleContext unnecessarily, just go
to the css node directly.
Matthias Clasen [Thu, 28 Jan 2021 02:56:12 +0000 (21:56 -0500)]
build: Redo the tools build
Move the tools directory to be toplevel, and instead of
recompiling sources twice, link them with the our new
static libgtk.a.
Matthias Clasen [Thu, 28 Jan 2021 17:15:43 +0000 (17:15 +0000)]
Merge branch 'wip/fl/gl-renderer-fixes' into 'master'
gskglshaderbuilder: bind correct uv location
See merge request GNOME/gtk!3128
Fabio Lagalla [Thu, 28 Jan 2021 16:06:12 +0000 (17:06 +0100)]
gskglshaderbuilder: bind correct uv location
Matthias Clasen [Thu, 28 Jan 2021 02:04:48 +0000 (02:04 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
builder-tool: Translate GtkImage:pixbuf
See merge request GNOME/gtk!3126
Matthias Clasen [Thu, 28 Jan 2021 01:43:57 +0000 (01:43 +0000)]
Merge branch 'wip/fl/gl-gradients' into 'master'
OpenGL gradient rendering improvements and additions
See merge request GNOME/gtk!3105
Matthias Clasen [Wed, 27 Jan 2021 22:01:51 +0000 (17:01 -0500)]
builder-tool: Translate GtkImage:pixbuf
The pixbuf property doesn't exist anymore. It is
commonly set to a path in ui files, so translate it
to the file property.
Matthias Clasen [Wed, 27 Jan 2021 21:53:02 +0000 (21:53 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
docs: Add gtk_widget_grab_default to migration guide
See merge request GNOME/gtk!3125
Matthias Clasen [Wed, 27 Jan 2021 18:50:05 +0000 (13:50 -0500)]
docs: Add gtk_widget_grab_default to migration guide
Point out the replacement for this api.
Timm Bäder [Wed, 27 Jan 2021 18:34:10 +0000 (18:34 +0000)]
Merge branch 'sophie-h-master-patch-47269' into 'master'
widget: get_name() is not nullable
See merge request GNOME/gtk!3124
Sophie Herold [Wed, 27 Jan 2021 17:49:17 +0000 (17:49 +0000)]
widget: get_name() is not nullable
Partial revert of !2905
Fabio Lagalla [Wed, 27 Jan 2021 11:52:11 +0000 (12:52 +0100)]
gskglrenderer: Remove switch fallthrough comments
Fabio Lagalla [Tue, 26 Jan 2021 15:15:12 +0000 (16:15 +0100)]
gskrendernode: Cache angle in conic gradients
Fabio Lagalla [Tue, 26 Jan 2021 13:57:02 +0000 (14:57 +0100)]
gskglrenderer: Use gboolean instead of bool
Fabio Lagalla [Tue, 26 Jan 2021 11:49:16 +0000 (12:49 +0100)]
gskglrenderer: First class support of repeating-radial-gradient
Fabio Lagalla [Tue, 26 Jan 2021 11:46:22 +0000 (12:46 +0100)]
gskglrenderer: First class support of repeating-linear-gradient
Fabio Lagalla [Tue, 26 Jan 2021 11:40:48 +0000 (12:40 +0100)]
gskglrenderer: Optimize conic-gradient shader
Fabio Lagalla [Tue, 26 Jan 2021 11:32:04 +0000 (12:32 +0100)]
gskglrenderer: Optimize radial-gradient shader
Fabio Lagalla [Tue, 26 Jan 2021 11:11:26 +0000 (12:11 +0100)]
gskglrenderer: Optimize linear-gradient shader
Matthias Clasen [Wed, 27 Jan 2021 05:34:21 +0000 (05:34 +0000)]
Merge branch 'fix-can-focus' into 'master'
widget: Fix can-focus
Closes #3610
See merge request GNOME/gtk!3123
Matthias Clasen [Wed, 27 Jan 2021 05:14:30 +0000 (05:14 +0000)]
Merge branch 'search-entry-capture' into 'master'
Search entry capture
Closes #3098
See merge request GNOME/gtk!3115
Matthias Clasen [Wed, 27 Jan 2021 04:43:11 +0000 (23:43 -0500)]
widget: Fix can-focus
Setting can-focus to FALSE on a widget is supposed
to prevent focus from entering the entire subtree.
So when we grab focus directly to a widget, we need
to check the can-focus flag not just of the widget
itself, but all its ancestors.
Fixes: #3610
Matthias Clasen [Wed, 27 Jan 2021 03:17:57 +0000 (22:17 -0500)]
searchentry: Capture events in the bubble phase
This is an unfortunate naming clash, but it avoids
an event handling clash between the capture widget
and its children.
Fixes: #3098
Matthias Clasen [Wed, 27 Jan 2021 03:11:17 +0000 (03:11 +0000)]
Merge branch 'css-crossfade-color' into 'master'
Css crossfade color
See merge request GNOME/gtk!3122
Matthias Clasen [Wed, 27 Jan 2021 02:10:47 +0000 (21:10 -0500)]
css: Support colors in cross fades
The CSS Image Spec (Level 4) allows colors in
cross-fade expressions to specify solid-color images.
Support this.
Matthias Clasen [Wed, 27 Jan 2021 02:10:11 +0000 (21:10 -0500)]
css: Add a constructor for GtkCssImageFallback
Add a way to create a solid color image.
Matthias Clasen [Wed, 27 Jan 2021 01:33:16 +0000 (20:33 -0500)]
docs: Cosmetics
Tweak the css docs slightly.
Matthias Clasen [Wed, 27 Jan 2021 01:11:54 +0000 (01:11 +0000)]
Merge branch 'gst-vaapi-fix-pre' into 'master'
Minor fixes to gtkgstsink
See merge request GNOME/gtk!3120
Matthias Clasen [Wed, 27 Jan 2021 00:42:40 +0000 (00:42 +0000)]
Merge branch 'css-text-decoration' into 'master'
css: Fix text-decoration-line support
Closes #3621
See merge request GNOME/gtk!3121
Matthias Clasen [Tue, 26 Jan 2021 22:40:34 +0000 (17:40 -0500)]
css: Fix text-decoration-line support
This property needs to be treated as flags, not as
enum, since it should be possible to specify more
than one value, e.g.
text-decoration-line: underline overline;
Tests included.
Fixes: #3621
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:38:45 +0000 (22:38 +0100)]
gtkgstsink: Use video_frame_free also for the GL path
The video frame needs to stay mapped while the texture is in use.
Avoid using g_memdup because the structure is not supposed to be moved.
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:39:32 +0000 (22:39 +0100)]
gtkgstsink: Report allocation size even if no pool requested
We can do that so we should.
Matthias Clasen [Tue, 26 Jan 2021 16:25:24 +0000 (16:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
docs: Update border-size docs
See merge request GNOME/gtk!3119
Matthias Clasen [Tue, 26 Jan 2021 15:40:22 +0000 (10:40 -0500)]
docs: Update border-size docs
GtkCenterLayout respected border-size as well.
Marek Černocký [Tue, 26 Jan 2021 15:21:18 +0000 (16:21 +0100)]
Updated Czech translation
Marek Černocký [Tue, 26 Jan 2021 15:12:36 +0000 (16:12 +0100)]
Updated Czech translation
Matthias Clasen [Tue, 26 Jan 2021 13:57:50 +0000 (13:57 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Fixes for gdk_surface_translate_coordinates()
See merge request GNOME/gtk!3118
Emmanuele Bassi [Tue, 26 Jan 2021 12:56:32 +0000 (12:56 +0000)]
Validate arguments
We're just assuming everything is not NULL or with a valid type.
Emmanuele Bassi [Tue, 26 Jan 2021 12:54:53 +0000 (12:54 +0000)]
Make the inout argument logic clearer
It's easy to misread a `+=`.
Emmanuele Bassi [Tue, 26 Jan 2021 12:54:00 +0000 (12:54 +0000)]
Fix annotations
The arguments are really (inout), not (out).
Matthias Clasen [Tue, 26 Jan 2021 12:47:38 +0000 (12:47 +0000)]
Merge branch 'circular-menubutton' into 'master'
Allow circular menubuttons
Closes #3423 and #3523
See merge request GNOME/gtk!3117
Emmanuele Bassi [Tue, 26 Jan 2021 12:28:55 +0000 (12:28 +0000)]
Merge branch 'ricotz/for-master' into 'master'
gdk: Add missing g-i annotations for gdk_surface_translate_coordinates
See merge request GNOME/gtk!3112
Matthias Clasen [Tue, 26 Jan 2021 05:44:14 +0000 (05:44 +0000)]
Merge branch 'css-overline' into 'master'
css: Support overline
See merge request GNOME/gtk!3116
Matthias Clasen [Tue, 26 Jan 2021 05:17:08 +0000 (00:17 -0500)]
Allow circular menubuttons
Fixes #3523
Matthias Clasen [Tue, 26 Jan 2021 05:07:46 +0000 (05:07 +0000)]
Merge branch 'adaptive-emojichooser' into 'master'
Adaptive emojichooser
Closes #3307
See merge request GNOME/gtk!2989
Matthias Clasen [Tue, 26 Jan 2021 05:04:04 +0000 (00:04 -0500)]
css: Support overline
We can support text-decoration-line: overline,
since pango supports it now.
Matthias Clasen [Tue, 22 Dec 2020 03:46:52 +0000 (22:46 -0500)]
popover: Try to not exceed monitor bounds
When the natural size of the popover exceeds
the monitor width, clamp it to fit on screen.
This gives the Emoji chooser a chance to
work on phone screens.
Fixes: #3307
Matthias Clasen [Tue, 22 Dec 2020 03:45:48 +0000 (22:45 -0500)]
emojichooser: Allow the section buttons to wrap
Use a flowbox instead of a horizontal box for
the section buttons at the bottom, so they can
wrap and allow for narrow layout.
We also need to stop giving the scrolledwindow
a content height, so it can shrink to make room
for more rows of section buttons.
Matthias Clasen [Tue, 22 Dec 2020 03:44:28 +0000 (22:44 -0500)]
emojichooser: Make keynav work with != 7 columns
The number of 7 columns was hardcoded in a few places
related to keynav across sections. The flowbox does
not have an api for it, but we can find out anyway
how many columns there are.
Matthias Clasen [Tue, 26 Jan 2021 03:16:29 +0000 (22:16 -0500)]
searchbar: Capture events in the bubble phase
This is an unfortunate naming clash, but it avoids
an event handling clash between the capture widget
and its children.
Fixes: #3098
Matthias Clasen [Tue, 26 Jan 2021 03:15:56 +0000 (22:15 -0500)]
searchbar: Fix documentation mishap
The css section was inserted between the example
and the sentence referring to it.
Matthias Clasen [Tue, 26 Jan 2021 02:53:38 +0000 (02:53 +0000)]
Merge branch 'simplify-get-module-path' into 'master'
modules: Simplify _gtk_get_module_path
See merge request GNOME/gtk!3113
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:33:46 +0000 (22:33 +0100)]
modules: Simplify _gtk_get_module_path
Remove the bizarre loops.
Rico Tzschichholz [Mon, 25 Jan 2021 19:05:52 +0000 (20:05 +0100)]
gdk: Add missing g-i annotations for gdk_surface_translate_coordinates
Matthias Clasen [Mon, 25 Jan 2021 13:35:47 +0000 (13:35 +0000)]
Merge branch 'wip/jimmac/larger-scrollbars-gtk4' into 'master'
Adwaita: make scrollbars larger
Closes #1886
See merge request GNOME/gtk!3109
Jakub Steiner [Mon, 25 Jan 2021 13:15:22 +0000 (14:15 +0100)]
Adwaita: make scrollbars larger
When using scrollbars as active controls, rather than their primary role as indicators,
increase their size as click targets.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1886
Matthias Clasen [Mon, 25 Jan 2021 12:58:36 +0000 (12:58 +0000)]
Merge branch 'transform-origin' into 'master'
Transform origin
See merge request GNOME/gtk!3108
Matthias Clasen [Mon, 25 Jan 2021 04:47:10 +0000 (23:47 -0500)]
Add a reftest for transform-origin
Matthias Clasen [Mon, 25 Jan 2021 03:46:01 +0000 (22:46 -0500)]
css: Implement transform-origin
Implement most of transform-origin. We only
handle the xy components currently, which lets
us reuse the position value implementation that
is used for background-position.
Matthias Clasen [Mon, 25 Jan 2021 03:47:25 +0000 (22:47 -0500)]
docs: Fix reference for css transform
Refer to the canonical location for the css
transform spec.
A S Alam [Sun, 24 Jan 2021 22:52:13 +0000 (22:52 +0000)]
Update Punjabi translation
(cherry picked from commit
64519d73bb12c3163539b39033b46057b1b5279b)
A S Alam [Sun, 24 Jan 2021 22:42:04 +0000 (22:42 +0000)]
Update Punjabi translation
(cherry picked from commit
518331812eec46cc6cc999df010c31f7127fc9bf)
Efstathios Iosifidis [Sun, 24 Jan 2021 10:17:02 +0000 (10:17 +0000)]
Update Greek translation
(cherry picked from commit
281c17c400c4cebb1a5b0b0c8ab14d06ce4a4791)
Matthias Clasen [Sat, 23 Jan 2021 16:15:23 +0000 (16:15 +0000)]
Merge branch 'static-lib-for-tests' into 'master'
Static lib for tests
See merge request GNOME/gtk!3107
Matthias Clasen [Sat, 23 Jan 2021 03:50:42 +0000 (22:50 -0500)]
testsuite: Link some tests statically
Link tests for private apis statically.
Matthias Clasen [Sat, 23 Jan 2021 02:50:55 +0000 (21:50 -0500)]
Create a static library
Rearrange our build to create a libgtk.a for the the contents of gtk/,
and build libgtk-4.so from our per-subdirectory static libraries.
This will let us link tests statically for testing internal apis.
Matthias Clasen [Fri, 22 Jan 2021 20:08:54 +0000 (20:08 +0000)]
Merge branch 'lsan-leaks-2' into 'master'
Lsan leaks 2
See merge request GNOME/gtk!3106
Matthias Clasen [Fri, 22 Jan 2021 18:56:04 +0000 (13:56 -0500)]
Avoid a buffer overrun
We were putting the '\0' behind the end. Oops.
Matthias Clasen [Fri, 22 Jan 2021 18:32:41 +0000 (13:32 -0500)]
Tweak lsan suppressions
We don't use atk-bridge anymore, and we don't want
to see gio leaks.
Matthias Clasen [Fri, 22 Jan 2021 18:01:09 +0000 (13:01 -0500)]
ci: Don't print lsan suppressions
Printing these out breaks TAP output, and we really
aren't interested in them.
Matthias Clasen [Fri, 22 Jan 2021 16:50:04 +0000 (11:50 -0500)]
testsuite: Fix a leak
asan pointed out that the array tests leak.
Matthias Clasen [Fri, 22 Jan 2021 16:37:20 +0000 (11:37 -0500)]
Avoid a heap-use-after-free
_gtk_gesture_cancel_sequence frees the struct pointed to by data,
so don't write to it afterwards. Found by asan.
Danial Behzadi [Fri, 22 Jan 2021 14:57:52 +0000 (14:57 +0000)]
Update Persian translation
Matthias Clasen [Fri, 22 Jan 2021 12:30:22 +0000 (12:30 +0000)]
Merge branch 'lsan-leaks' into 'master'
Lsan leaks
See merge request GNOME/gtk!3104
Matthias Clasen [Fri, 22 Jan 2021 05:16:08 +0000 (05:16 +0000)]
Merge branch 'tests-without-diff' into 'master'
testsuite: Stop requiring diff
See merge request GNOME/gtk!3103
Matthias Clasen [Fri, 22 Jan 2021 05:13:13 +0000 (00:13 -0500)]
Force malloc of g_slices in asan build
Otherwise leaks could be missed.
Matthias Clasen [Fri, 22 Jan 2021 05:12:46 +0000 (00:12 -0500)]
Remove libc from leak suppression list
Every program starts in __libc_start_main, so this would suppress
everything. This doesn't happen in practice because asan by default
is unable to unwind the stack. Setting
ASAN_OPTIONS=fast_unwind_on_malloc=0,malloc_context_size=15 can unwind
the stack, and if malloc_context_size is large enough it will indeed
suppress everything.
Matthias Clasen [Fri, 22 Jan 2021 04:57:24 +0000 (23:57 -0500)]
testsuite: Stop requiring diff
Unify the many copies of diff_with_file in one source
file, and patch it to detect diff at runtime and fall
back to a simple strcmp if we don't have it. Make all
tests use this new testutils.c, and stop requiring
diff for building the tests.
This should let us allow to build on Windows with the
default value for -Dbuild-tests.
Matthias Clasen [Fri, 22 Jan 2021 03:43:33 +0000 (22:43 -0500)]
wayland: Explicitly announce ssd for kwin
Without this, kwin correctly assumes that we are
using client-side decorations. This is a port
of
32ae97f1 from GTK 3.24.
Fixes: #3609
Daniel Șerbănescu [Thu, 21 Jan 2021 19:27:47 +0000 (19:27 +0000)]
Update Romanian translation
Emmanuele Bassi [Thu, 21 Jan 2021 18:57:34 +0000 (18:57 +0000)]
Merge branch 'ebassi/lazier-a11y' into 'master'
Lazier accessibility
See merge request GNOME/gtk!3102
Yuri Chornoivan [Thu, 21 Jan 2021 18:23:25 +0000 (18:23 +0000)]
Update Ukrainian translation
Matthias Clasen [Thu, 21 Jan 2021 18:15:57 +0000 (18:15 +0000)]
Merge branch 'inspector-controllers' into 'master'
Inspector controllers
See merge request GNOME/gtk!3101
Emmanuele Bassi [Thu, 21 Jan 2021 16:39:22 +0000 (16:39 +0000)]
a11y: Make GtkATContext realization lazier
We only realize the ATContext on the top level, which will create an
GtkAtSpiRoot object and the corresponding GtkAtSpiCache object. Whenever
an AT connects to the accessibility bus, and asks for the various
objects, all the ATContext will be realized on demand.
Emmanuele Bassi [Thu, 21 Jan 2021 16:31:28 +0000 (16:31 +0000)]
a11y: Avoid signal emission during cache population
If we're responding to a request to get all the cached items, there's no
need to emit signals when adding an ATContext to the cache.
Matthias Clasen [Thu, 21 Jan 2021 05:31:00 +0000 (00:31 -0500)]
inspector: Redo the actions page
Don't create widgets in bind, instead just set
the new action on the action-editor, and let it
recreate the parts that need to be recreated.
Matthias Clasen [Thu, 21 Jan 2021 06:13:29 +0000 (01:13 -0500)]
inspector: Reshuffle action editor
Prepare the action editor for being able to change its
actions after creation.
Matthias Clasen [Thu, 21 Jan 2021 05:34:25 +0000 (00:34 -0500)]
inspector: Simplify action editor
We are not using the size group anymore, so drop it.
Matthias Clasen [Thu, 21 Jan 2021 05:03:16 +0000 (00:03 -0500)]
inspector: Split out variant editor
Matthias Clasen [Thu, 21 Jan 2021 00:27:38 +0000 (19:27 -0500)]
inspector: Redo the shortcuts page
Use a column view here.
Matthias Clasen [Wed, 20 Jan 2021 23:51:01 +0000 (18:51 -0500)]
inspector: Redo the controllers page
Use a column view, and only show the widgets own
controllers.
Matthias Clasen [Thu, 21 Jan 2021 04:22:13 +0000 (04:22 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
Closes #3607
See merge request GNOME/gtk!3100